﻿// 4315. 两个数列.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4318/

有两个正整数数列 a1,a2,…,an
 和 b1,b2,…,bn
。

现在，已知的信息有：

数列 a
 的各个元素的值。
数列 b
 的各个元素之和 s
。
对于任意的 1≤i≤n
，满足 1≤bi≤ai
 成立。
利用给出的信息，我们可以对数列 b
 中各个元素的值进行推断。

由上述信息，我们可知对于元素 bi
，其可能的取值范围为 [1,ai]
，但是受到已知条件的约束，它可能无法取到其中一些数值。

我们的任务就是计算每个 bi
 在其可能的取值范围内，无法取到的数值的数量。

例如，如果 n=2
，a={4,4}
，s=8
，则数列 b
 中的每一个元素都不能小于 4
（否则，另一个元素就要大于 4
，这是不可能的），也就是说 b1
 和 b2
 在其可能的取值范围 [1,4]
 内，均无法取到 1,2,3
，无法取到的数值的数量均为 3
。

输入格式
第一行包含两个整数 n
 和 s
。

第二行包含 n
 个整数 a1,a2,…,an
。

输出格式
共一行，n
 个整数，其中第 i
 个整数表示 bi
 在其可能的取值范围内，无法取到的数值的数量。

数据范围
前三个测试点满足 1≤n≤2
。
所有测试点满足 1≤n≤2×105
，n≤s≤∑i=1nai
，1≤ai≤106
。

输入样例1：
2 8
4 4
输出样例1：
3 3
输入样例2：
1 3
5
输出样例2：
4
输入样例3：
2 3
2 3
输出样例3：
0 1
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 